package com.greenold.service.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.greenold.service.mapper.CareItemMapper;
import com.greenold.service.domain.CareItem;
import com.greenold.service.service.ICareItemService;

/**
 * 护理项目Service业务层处理
 *
 * @author YueYang
 * @date 2025-10-14
 */
@Service
public class CareItemServiceImpl implements ICareItemService {
    @Autowired
    private CareItemMapper careItemMapper;

    /**
     * 查询护理项目
     *
     * @param id 护理项目主键
     * @return 护理项目
     */
    @Override
    public CareItem selectCareItemById(String id) {
        return careItemMapper.selectCareItemById(id);
    }

    /**
     * 查询护理项目列表
     *
     * @param careItem 护理项目
     * @return 护理项目
     */
    @Override
    public List<CareItem> selectCareItemList(CareItem careItem) {
        return careItemMapper.selectCareItemList(careItem);
    }

    /**
     * 查询所有可用的护理项目集合 也就是status为1的
     *
     * @return 可用的护理项目集合
     */
    @Override
    public List<CareItem> selectAvailableCareItemList() {
        return careItemMapper.selectAvailableCareItemList();
    }

    /**
     * 查询护理计划项目关联表 获取与护理计划关联的所有护理项目id
     *
     * @return 与护理计划关联的所有护理项目id集合
     */
    @Override
    public List<Long> selectCareItemRelation() {
        return careItemMapper.selectCareItemRelation();
    }

    /**
     * 新增护理项目
     *
     * @param careItem 护理项目
     * @return 结果
     */
    @Override
    public int insertCareItem(CareItem careItem) {
        return careItemMapper.insertCareItem(careItem);
    }

    /**
     * 修改护理项目
     *
     * @param careItem 护理项目
     * @return 结果
     */
    @Override
    public int updateCareItem(CareItem careItem) {
        return careItemMapper.updateCareItem(careItem);
    }

    /**
     * 批量删除护理项目
     *
     * @param ids 需要删除的护理项目主键
     * @return 结果
     */
    @Override
    public int deleteCareItemByIds(String[] ids) {
        return careItemMapper.deleteCareItemByIds(ids);
    }

    /**
     * 删除护理项目信息
     *
     * @param id 护理项目主键
     * @return 结果
     */
    @Override
    public int deleteCareItemById(String id) {
        return careItemMapper.deleteCareItemById(id);
    }

    @Override
    public List<CareItem> getActiveCareItems() {
        return careItemMapper.selectActiveCareItems();
    }
}
